A number of memory devices, such as flash memory devices, use analog memory cells to store data. Each memory cell stores an analog value, also referred to as a storage value, such as an electrical charge or voltage. The storage value represents the information stored in the cell. In flash memory devices, for example, each analog memory cell typically stores a certain voltage. The range of possible analog values for each cell is typically divided into threshold regions, with each region corresponding to one or more data bit values. Data is written to an analog memory cell by writing a nominal analog value that corresponds to the desired one or more bits. The analog values stored in memory cells are often distorted. The distortions are typically due to, for example, back pattern dependency (BPD), noise and inter-cell interference (ICI).
A probability density function (PDF) of a continuous random variable describes the relative probability that a given value of the random variable will occur at a given point in time. The voltage distributions for memory cells, for example, are often expressed using such probability density functions. Generally, the threshold voltage of a cell is the voltage that needs to be applied to the cell so that the cell conducts a certain amount of current. The threshold voltage is a measure for the data stored in a cell.
Statistical noise in a communication system, for example, is typically approximated using a probability density function having a normal distribution (often referred to as a Gaussian distribution). Computing probability values for a Gaussian distribution is relatively straightforward. The above-described distortions in memory devices, however, as well as imperfections in the write process, may cause the probability density function for received values read from the memory to have an arbitrary or non-Gaussian distribution. The computation of probability values for such arbitrary distributions is significantly more complex than for a Gaussian distribution.
A need therefore exists for improved methods and apparatus for computing probability values for received or stored values that have an arbitrary probability density function. A further need exists for methods and apparatus for approximating a probability density function or distribution for a received value in communication or storage systems.